package Kolekcje;
import java.util.*;

/*
 * Utwórz i zapełnij klasę List<Integer>. 
 * Utwórz drugą listę List<Integer> tego samego rozmiaru co pierwsza i 
 * użyj iteratora ListIterator do przejrzenia elementów pierwszej listy i 
 * wstawiania ich do listy drugiej, ale w odwrotnej kolejności.
 */
public class TestListIterator {
	public static void main(String[] args) {
		List<Integer> l = Arrays.asList(0,1,2,3,4,5,6,7,8,9);
	
		//1 sposób ListIterator
		List<Integer> l1=new ArrayList<Integer>();
		ListIterator<Integer> lit=l.listIterator(l.size());
		while(lit.hasPrevious()){
			l1.add(lit.previous());
		}
		System.out.println("1: "+l1);
		
		//2 sposób Iterator
		List<Integer> l2=Arrays.asList(0,0,0,0,0,0,0,0,0,0);
		Iterator<Integer> it=l.listIterator();
		for(int i=l.size()-1; i>=0; i--){
			l2.set(i, it.next());
		}
		System.out.println("2: "+l2);
		
		//3 sposób bez iteratora
		List<Integer> l3=Arrays.asList(0,0,0,0,0,0,0,0,0,0);
		for(int i=0, j=l3.size()-1; i<l3.size(); i++, j--){
			l3.set(j, l.get(i));
		}
		System.out.println("3: "+l3);
	}

}
